#pragma once
#include "Osoba.h"
#include "Firma.h"
#include "Adres.h"
#include <deque>

class Sprawa
{
private:
	CString m_numer_rsow;			//zmienone
	CString m_ID; 					//nowe
	CString m_liczba_dziennika;		//nowe
	CString m_data_zgloszenia;
	CString m_data_zdarzenia;
	CString m_data_rejestracji; // nowe
	CString m_artykul;			//zmienione z rodzaju sprawy
	CString m_data_zakonczenia;
	CString m_status;
	CString m_tryb_skierowania;	// nowe
	CString m_prowadzacy_id; 	// nowe
	Adres m_miejsce_zdarzenia;
	std::deque<Osoba> m_uczestnicy;
	std::deque<Firma> m_firmy;
	
	CString m_konkluzja;		//	nowe
	CString m_opis_sprawy;		// nowe
	// zdarzenia
public:
	Sprawa(void);
	~Sprawa(void);
	CString GetNumerRsow();
	CString GetNumerID();
	CString GetNumerLiczbaDziennika();
	CString GetDataZdarzenia();
	CString GetDataZgloszenia();
	CString GetDataZakonczenia();
	CString GetDataRejestracji();
	CString GetStatus();
	CString GetArtykul();
	CString GetTrybSkierowania();
	CString GetKonkluzja();
	CString GetOpisSprawy();
	
	
	void SetNumerRsow(CString _numer_rsow);
	void SetNumerID(CString _ID);
	void SetNumerLiczbaDziennika(CString _liczba_dziennika);
	void SetDataZdarzenia(CString _data_zdarzenia);
	void SetDataZgloszenia(CString _data_zgloszenia);
	void SetDataZakonczenia(CString _data_zakonczenia);
	void SetDataRejestracji(CString _data_rejestracji);
	void SetStatus(CString _status);
	void SetArtykul(CString _artykul);
	void SetTrybSkierowania(CString _tryb_skierowania);
	void SetKonkluzja(CString _konkuluzja);
	void SetOpisSprawy(CString _opis_sprawy);

	Adres &GetPointerToAdress();
	Osoba &AddOsoba();
	Osoba &FindOsoba(CString _szukany);
	void DeleteOsoba(CString _pesel);
	Firma &AddFirma();
	Firma &FindFirma(CString _szukana);
	void DeleteOsoba(Cstring _nazwa);
	void ReadFromFile();
	void SaveToFile();
	Osoba & operator[](int _numer);
	int GetSize(void);
	std::deque<Osoba> &GetSprawcy();
	std::deque<Osoba> &GetPoszkodowany();
	std::deque<Osoba> &GetSwiadkowie();
};

